# JavaScript Immutable ( 不可變 ) 概念


參考文章 MDN

也就是除了物件部分陣列以外,其餘的型別都是不可變的。
例如 : 變數 a 一開始是 'hello',再設定一個 a 為 'yo',其實是再新增一個記憶體存放的,所以兩個位置不同,因此顯示 a 還是原本的'hello'

如果改成a = a + 'yo' 會變成 'helloyo' 因為重新設了一個新值讓'hello'+'yo'的值回傳。

重點

陣列部分 :

通常如果是改動陣列,且回傳的也是陣列 ( push,splice,reverse ) 就會改到原本陣列。

如果回傳的不是陣列 ( join,slice,toUpperCase )就不會影響原陣列,他們會回傳一個新陣列來儲存,因此需要用一個新的變數會函式來接收 str = str.toUpperCase(),由於是重要的概念,在這邊簡單筆記一下。







你可能感興趣的文章

redis 套件的 Property 'on' does not exist on type 'RedisClientType'

redis 套件的 Property 'on' does not exist on type 'RedisClientType'

用 JavaScript 學習資料結構和演算法:堆疊(Stack)篇

用 JavaScript 學習資料結構和演算法:堆疊(Stack)篇

ASP.NET Core Web API 入門教學 - 基本上傳檔案

ASP.NET Core Web API 入門教學 - 基本上傳檔案






留言討論